Academy

কন্ট্রোল স্টেটমেন্টস

Microsoft Technologies - সি শার্প (C#) - NCTB BOOK

সি শার্পে (C#) কন্ট্রোল স্টেটমেন্টস হলো প্রোগ্রামের প্রবাহ নিয়ন্ত্রণের জন্য ব্যবহৃত কমান্ড বা নির্দেশাবলী। এগুলোর মাধ্যমে প্রোগ্রামের বিভিন্ন অংশে শর্ত অনুযায়ী বিভিন্ন কাজ করা সম্ভব হয়। C# এ মূলত তিন ধরনের কন্ট্রোল স্টেটমেন্টস রয়েছে:

  1. কন্ডিশনাল স্টেটমেন্টস (Conditional Statements)
  2. লুপিং স্টেটমেন্টস (Looping Statements)
  3. জাম্প স্টেটমেন্টস (Jump Statements)

নিচে প্রতিটি কন্ট্রোল স্টেটমেন্ট সম্পর্কে আলোচনা করা হলো:


১. কন্ডিশনাল স্টেটমেন্টস (Conditional Statements)

কন্ডিশনাল স্টেটমেন্টস প্রোগ্রামের মধ্যে শর্ত যাচাই করার জন্য ব্যবহৃত হয়। এতে if, else if, else, এবং switch স্টেটমেন্ট অন্তর্ভুক্ত।

i. if স্টেটমেন্ট

if স্টেটমেন্ট একটি শর্ত যাচাই করে। যদি শর্তটি true হয়, তবে নির্দিষ্ট কোড ব্লকটি এক্সিকিউট হবে।

int age = 18;
if (age >= 18)
{
    Console.WriteLine("Eligible to vote.");
}

ii. else স্টেটমেন্ট

if শর্ত false হলে else স্টেটমেন্ট এক্সিকিউট হয়।

int age = 16;
if (age >= 18)
{
    Console.WriteLine("Eligible to vote.");
}
else
{
    Console.WriteLine("Not eligible to vote.");
}

iii. else if স্টেটমেন্ট

একাধিক শর্ত যাচাই করার জন্য else if স্টেটমেন্ট ব্যবহার করা হয়।

int marks = 85;
if (marks >= 90)
{
    Console.WriteLine("Grade: A+");
}
else if (marks >= 80)
{
    Console.WriteLine("Grade: A");
}
else
{
    Console.WriteLine("Grade: B");
}

iv. switch স্টেটমেন্ট

switch স্টেটমেন্ট একাধিক মানের জন্য একটি ভেরিয়েবলের মান যাচাই করতে ব্যবহৃত হয়।

int day = 3;
switch (day)
{
    case 1:
        Console.WriteLine("Monday");
        break;
    case 2:
        Console.WriteLine("Tuesday");
        break;
    case 3:
        Console.WriteLine("Wednesday");
        break;
    default:
        Console.WriteLine("Invalid day");
        break;
}

২. লুপিং স্টেটমেন্টস (Looping Statements)

লুপিং স্টেটমেন্টস ব্যবহার করে একটি নির্দিষ্ট কোড ব্লক বারবার এক্সিকিউট করা যায় যতক্ষণ শর্তটি true থাকে। C# এ for, while, এবং do-while লুপ রয়েছে।

i. for লুপ

for লুপ একটি নির্দিষ্ট সংখ্যক বার কোড ব্লক চালানোর জন্য ব্যবহৃত হয়।

for (int i = 0; i < 5; i++)
{
    Console.WriteLine("Iteration: " + i);
}

ii. while লুপ

while লুপ একটি শর্তের উপর নির্ভর করে একাধিকবার কোড ব্লক চালায় যতক্ষণ শর্তটি true থাকে।

int i = 0;
while (i < 5)
{
    Console.WriteLine("While Loop Iteration: " + i);
    i++;
}

iii. do-while লুপ

do-while লুপ অন্তত একবার কোড ব্লক চালায় এবং তারপর শর্ত যাচাই করে। শর্ত true হলে লুপ চালিয়ে যায়।

int i = 0;
do
{
    Console.WriteLine("Do-While Loop Iteration: " + i);
    i++;
} while (i < 5);

৩. জাম্প স্টেটমেন্টস (Jump Statements)

জাম্প স্টেটমেন্টস প্রোগ্রামের প্রবাহ নির্দিষ্ট স্থানে নিয়ে যাওয়ার জন্য ব্যবহৃত হয়। এতে break, continue, এবং return স্টেটমেন্ট অন্তর্ভুক্ত।

i. break স্টেটমেন্ট

break স্টেটমেন্ট একটি লুপ বা switch স্টেটমেন্ট থেকে বেরিয়ে আসার জন্য ব্যবহৃত হয়।

for (int i = 0; i < 10; i++)
{
    if (i == 5)
    {
        break;
    }
    Console.WriteLine("Break Example: " + i);
}

ii. continue স্টেটমেন্ট

continue স্টেটমেন্ট বর্তমান ইটারেশন বাদ দিয়ে লুপের পরবর্তী ইটারেশনে চলে যায়।

for (int i = 0; i < 10; i++)
{
    if (i % 2 == 0)
    {
        continue;
    }
    Console.WriteLine("Continue Example: " + i);
}

iii. return স্টেটমেন্ট

return স্টেটমেন্ট মেথডের কার্যক্রম শেষ করে এবং একটি নির্দিষ্ট মান রিটার্ন করে।

int Add(int a, int b)
{
    return a + b;
}

উদাহরণ প্রোগ্রাম: বিভিন্ন কন্ট্রোল স্টেটমেন্টের ব্যবহার

using System;

namespace ControlStatementsExample
{
    class Program
    {
        static void Main(string[] args)
        {
            // if-else Example
            int age = 20;
            if (age >= 18)
            {
                Console.WriteLine("You are an adult.");
            }
            else
            {
                Console.WriteLine("You are a minor.");
            }

            // for loop Example
            for (int i = 1; i <= 5; i++)
            {
                Console.WriteLine("For Loop: " + i);
            }

            // while loop Example
            int count = 1;
            while (count <= 3)
            {
                Console.WriteLine("While Loop: " + count);
                count++;
            }

            // do-while loop Example
            int num = 1;
            do
            {
                Console.WriteLine("Do-While Loop: " + num);
                num++;
            } while (num <= 2);

            // switch Example
            int day = 4;
            switch (day)
            {
                case 1:
                    Console.WriteLine("Monday");
                    break;
                case 2:
                    Console.WriteLine("Tuesday");
                    break;
                case 3:
                    Console.WriteLine("Wednesday");
                    break;
                case 4:
                    Console.WriteLine("Thursday");
                    break;
                default:
                    Console.WriteLine("Invalid day");
                    break;
            }
        }
    }
}

আউটপুট

You are an adult.
For Loop: 1
For Loop: 2
For Loop: 3
For Loop: 4
For Loop: 5
While Loop: 1
While Loop: 2
While Loop: 3
Do-While Loop: 1
Do-While Loop: 2
Thursday

সারসংক্ষেপ

সি শার্পে কন্ট্রোল স্টেটমেন্টস প্রোগ্রামের লজিক এবং প্রবাহ নিয়ন্ত্রণ করতে সহায়ক। কন্ডিশনাল স্টেটমেন্টস শর্ত যাচাইয়ের জন্য, লুপিং স্টেটমেন্টস পুনরাবৃত্ত কাজ করার জন্য, এবং জাম্প স্টেটমেন্টস প্রোগ্রামের নির্দিষ্ট অংশে প্রবাহ পরিবর্তনের জন্য ব্যবহৃত হয়। এই কন্ট্রোল স্টেটমেন্টগুলো প্রোগ্রামিংয়ে নির্দিষ্ট শর্তে বিভিন্ন কাজ করতে এবং প্রোগ্রামের কার্যকারিতা নিশ্চিত করতে সহায়ক।

Content added By

শর্ত ভিত্তিক স্টেটমেন্ট: if, else if, else, switch

সি শার্পে (C#) প্রোগ্রামিংয়ের শর্ত ভিত্তিক স্টেটমেন্টগুলো ব্যবহার করে প্রোগ্রামে বিভিন্ন শর্ত অনুযায়ী নির্দিষ্ট কাজ সম্পাদন করা যায়। শর্ত ভিত্তিক স্টেটমেন্টগুলো হলো if, else if, else, এবং switch। এই স্টেটমেন্টগুলো নির্দিষ্ট শর্ত অনুযায়ী কোড ব্লক এক্সিকিউট করতে সহায়ক।

১. if স্টেটমেন্ট

if স্টেটমেন্ট শর্ত যাচাই করে। যদি শর্তটি true হয়, তাহলে নির্দিষ্ট কোড ব্লক এক্সিকিউট হয়।

int age = 18;
if (age >= 18)
{
    Console.WriteLine("You are eligible to vote.");
}

এখানে, age যদি ১৮ বা তার বেশি হয়, তাহলে "You are eligible to vote." প্রিন্ট হবে।

২. else স্টেটমেন্ট

else স্টেটমেন্টটি if এর সাথে ব্যবহার করা হয়। যদি if এর শর্ত মিথ্যা হয়, তাহলে else এর কোড ব্লক এক্সিকিউট হয়।

int age = 16;
if (age >= 18)
{
    Console.WriteLine("You are eligible to vote.");
}
else
{
    Console.WriteLine("You are not eligible to vote.");
}

এখানে, age যদি ১৮ এর কম হয়, তাহলে "You are not eligible to vote." প্রিন্ট হবে।

৩. else if স্টেটমেন্ট

else if স্টেটমেন্ট ব্যবহার করে একাধিক শর্ত চেক করা যায়। if এর শর্ত মিথ্যা হলে পরবর্তী else if শর্ত চেক করা হয়, এবং একের অধিক শর্ত চেক করার প্রয়োজন হলে এটি ব্যবহার করা হয়।

int score = 85;
if (score >= 90)
{
    Console.WriteLine("Grade: A");
}
else if (score >= 80)
{
    Console.WriteLine("Grade: B");
}
else if (score >= 70)
{
    Console.WriteLine("Grade: C");
}
else
{
    Console.WriteLine("Grade: F");
}

উপরের উদাহরণে, score যদি ৮৫ হয়, তাহলে আউটপুট হবে "Grade: B" কারণ score >= 80 শর্তটি সত্য।

৪. switch স্টেটমেন্ট

switch স্টেটমেন্ট একাধিক শর্ত চেক করার জন্য একটি পরিষ্কার এবং কার্যকর পদ্ধতি প্রদান করে, যেখানে প্রতিটি কেস একটি নির্দিষ্ট মানের সাথে তুলনা করা হয়। যখন কোনো কেসের মান মেলে, সেই কেসের কোড ব্লক এক্সিকিউট হয়।

int day = 3;
switch (day)
{
    case 1:
        Console.WriteLine("Monday");
        break;
    case 2:
        Console.WriteLine("Tuesday");
        break;
    case 3:
        Console.WriteLine("Wednesday");
        break;
    case 4:
        Console.WriteLine("Thursday");
        break;
    case 5:
        Console.WriteLine("Friday");
        break;
    default:
        Console.WriteLine("Invalid day");
        break;
}

উপরের উদাহরণে, day এর মান যদি 3 হয়, তাহলে আউটপুট হবে "Wednesday"। প্রতিটি কেস শেষে break স্টেটমেন্ট ব্যবহার করা হয়, যা switch স্টেটমেন্ট থেকে বেরিয়ে আসতে সাহায্য করে। default কেসটি তখন এক্সিকিউট হয় যখন কোনো কেসের সাথে মান না মিলে।

উদাহরণ: if-else, else if এবং switch একসাথে

int number = 5;

if (number < 0)
{
    Console.WriteLine("Number is negative.");
}
else if (number == 0)
{
    Console.WriteLine("Number is zero.");
}
else
{
    Console.WriteLine("Number is positive.");

    switch (number)
    {
        case 1:
            Console.WriteLine("Number is one.");
            break;
        case 5:
            Console.WriteLine("Number is five.");
            break;
        default:
            Console.WriteLine("Number is neither one nor five.");
            break;
    }
}

আউটপুট

Number is positive.
Number is five.

এখানে, প্রথমে if-else if-else দিয়ে চেক করা হয়েছে number ধনাত্মক নাকি ঋণাত্মক, তারপর switch দিয়ে নির্দিষ্ট মান চেক করা হয়েছে।

সারসংক্ষেপ

সি শার্পের শর্ত ভিত্তিক স্টেটমেন্টগুলো, যেমন if, else if, else, এবং switch, প্রোগ্রামে বিভিন্ন শর্ত অনুযায়ী কোড ব্লক এক্সিকিউট করতে সহায়ক। if-else if-else সাধারণ শর্তের জন্য উপযুক্ত এবং switch স্টেটমেন্ট নির্দিষ্ট মান অনুযায়ী একাধিক কেস চেক করার জন্য কার্যকর।

Content added By

লুপিং স্টেটমেন্ট: for, while, do-while, foreach

সি শার্পে (C#) লুপিং স্টেটমেন্টস প্রোগ্রামের নির্দিষ্ট অংশকে বারবার চালানোর জন্য ব্যবহৃত হয়। এতে বিভিন্ন লুপ রয়েছে, যেমন for, while, do-while, এবং foreach। এগুলোর মাধ্যমে একটি কোড ব্লক পুনরাবৃত্তি করে চলতে থাকে যতক্ষণ পর্যন্ত শর্ত true থাকে।

১. for লুপ

for লুপ সাধারণত নির্দিষ্ট সংখ্যক বার কোড ব্লক চালানোর জন্য ব্যবহৃত হয়। এটি তিনটি অংশ নিয়ে গঠিত: ইনিশিয়ালাইজেশন, শর্ত, এবং ইনক্রিমেন্ট/ডিক্রিমেন্ট।

গঠন:

for (initialization; condition; increment/decrement)
{
    // কোড ব্লক
}

উদাহরণ:

for (int i = 0; i < 5; i++)
{
    Console.WriteLine("Iteration: " + i);
}

আউটপুট:

Iteration: 0
Iteration: 1
Iteration: 2
Iteration: 3
Iteration: 4

২. while লুপ

while লুপ একটি শর্ত পূরণ হলে কোড ব্লক চালাতে থাকে। শর্ত মিথ্যা হওয়া পর্যন্ত এটি চলতে থাকে।

গঠন:

while (condition)
{
    // কোড ব্লক
}

উদাহরণ:

int i = 0;
while (i < 5)
{
    Console.WriteLine("While Loop Iteration: " + i);
    i++;
}

আউটপুট:

While Loop Iteration: 0
While Loop Iteration: 1
While Loop Iteration: 2
While Loop Iteration: 3
While Loop Iteration: 4

৩. do-while লুপ

do-while লুপ অন্তত একবার কোড ব্লক চালায়, তারপর শর্ত যাচাই করে। শর্ত true হলে এটি পুনরাবৃত্তি করে।

গঠন:

do
{
    // কোড ব্লক
} while (condition);

উদাহরণ:

int i = 0;
do
{
    Console.WriteLine("Do-While Loop Iteration: " + i);
    i++;
} while (i < 5);

আউটপুট:

Do-While Loop Iteration: 0
Do-While Loop Iteration: 1
Do-While Loop Iteration: 2
Do-While Loop Iteration: 3
Do-While Loop Iteration: 4

৪. foreach লুপ

foreach লুপ কোনো সংগ্রহ বা অ্যারের প্রতিটি উপাদানকে একবার করে এক্সেস করতে ব্যবহৃত হয়। এটি একটি সহজ উপায়ে সংগ্রহের প্রতিটি উপাদান নিয়ে কাজ করার জন্য ব্যবহৃত হয়।

গঠন:

foreach (dataType item in collection)
{
    // কোড ব্লক
}

উদাহরণ:

string[] names = { "Alice", "Bob", "Charlie" };
foreach (string name in names)
{
    Console.WriteLine("Name: " + name);
}

আউটপুট:

Name: Alice
Name: Bob
Name: Charlie

লুপিং স্টেটমেন্টের তুলনা

লুপব্যবহারের সময়শর্ত চেককমপক্ষে একবার চালায়?
forনির্দিষ্ট সংখ্যা বারশুরুতেনা
whileশর্ত পূর্ণ হওয়া পর্যন্তশুরুতেনা
do-whileশর্ত পূর্ণ হওয়া পর্যন্তশেষেহ্যাঁ
foreachসংগ্রহের প্রতিটি উপাদানN/Aহ্যাঁ

উদাহরণ প্রোগ্রাম: লুপিং স্টেটমেন্ট

using System;

namespace LoopingStatementsExample
{
    class Program
    {
        static void Main(string[] args)
        {
            // for loop
            Console.WriteLine("For Loop:");
            for (int i = 0; i < 3; i++)
            {
                Console.WriteLine("Iteration: " + i);
            }

            // while loop
            Console.WriteLine("\nWhile Loop:");
            int j = 0;
            while (j < 3)
            {
                Console.WriteLine("Iteration: " + j);
                j++;
            }

            // do-while loop
            Console.WriteLine("\nDo-While Loop:");
            int k = 0;
            do
            {
                Console.WriteLine("Iteration: " + k);
                k++;
            } while (k < 3);

            // foreach loop
            Console.WriteLine("\nForeach Loop:");
            int[] numbers = { 1, 2, 3 };
            foreach (int num in numbers)
            {
                Console.WriteLine("Number: " + num);
            }
        }
    }
}

আউটপুট

For Loop:
Iteration: 0
Iteration: 1
Iteration: 2

While Loop:
Iteration: 0
Iteration: 1
Iteration: 2

Do-While Loop:
Iteration: 0
Iteration: 1
Iteration: 2

Foreach Loop:
Number: 1
Number: 2
Number: 3

সারসংক্ষেপ

সি শার্পে লুপিং স্টেটমেন্টস পুনরাবৃত্তি কার্য সম্পাদনে সহায়ক। for লুপ নির্দিষ্ট সংখ্যক বার চলার জন্য, while লুপ শর্তাধীন পুনরাবৃত্তির জন্য, do-while লুপ অন্তত একবার চলার নিশ্চয়তার জন্য, এবং foreach লুপ সংগ্রহের প্রতিটি উপাদানে কাজ করার জন্য ব্যবহৃত হয়। এগুলোর সঠিক ব্যবহারে প্রোগ্রামের কার্যকারিতা এবং পড়ার সহজতা বাড়ে।

Content added By

ব্রেক, কন্টিনিউ, এবং রিটার্ন স্টেটমেন্ট

সি শার্প (C#) এ break, continue, এবং return স্টেটমেন্টগুলো লুপ বা মেথডের কার্যক্রম নিয়ন্ত্রণ করতে ব্যবহৃত হয়। প্রতিটি স্টেটমেন্টের নির্দিষ্ট ভূমিকা রয়েছে, যা কোডের কার্যকারিতা এবং নিয়ন্ত্রণ প্রবাহকে প্রভাবিত করে।

১. break স্টেটমেন্ট

break স্টেটমেন্ট লুপ বা switch স্টেটমেন্ট থেকে নির্দিষ্ট অবস্থায় বেরিয়ে আসতে ব্যবহার করা হয়। যখন break স্টেটমেন্ট পাওয়া যায়, তখন লুপ বা switch স্টেটমেন্টের কার্যক্রম বন্ধ হয়ে যায় এবং লুপের বাইরে চলে যায়।

উদাহরণ: break স্টেটমেন্ট ব্যবহার

for (int i = 1; i <= 5; i++)
{
    if (i == 3)
    {
        break; // লুপ থামবে যখন i এর মান 3 হবে
    }
    Console.WriteLine(i);
}

আউটপুট

1
2

এখানে i == 3 হলে break স্টেটমেন্ট কার্যকর হবে এবং লুপ থেকে বেরিয়ে আসবে। ফলে 3, 4, এবং 5 প্রিন্ট হবে না।


২. continue স্টেটমেন্ট

continue স্টেটমেন্ট লুপের চলতি পুনরাবৃত্তি বন্ধ করে পরবর্তী পুনরাবৃত্তিতে চলে যায়। continue স্টেটমেন্ট প্রায়ই তখন ব্যবহার করা হয় যখন কিছু শর্ত মিলে গেলে সেই নির্দিষ্ট পুনরাবৃত্তি এড়িয়ে যেতে হয়।

উদাহরণ: continue স্টেটমেন্ট ব্যবহার

for (int i = 1; i <= 5; i++)
{
    if (i == 3)
    {
        continue; // এই পুনরাবৃত্তিটি এড়িয়ে পরেরটিতে চলে যাবে
    }
    Console.WriteLine(i);
}

আউটপুট

1
2
4
5

এখানে i == 3 হলে continue স্টেটমেন্ট কার্যকর হবে এবং সেই পুনরাবৃত্তিটি এড়িয়ে পরবর্তী পুনরাবৃত্তিতে চলে যাবে। ফলে 3 প্রিন্ট হবে না।


৩. return স্টেটমেন্ট

return স্টেটমেন্ট সাধারণত একটি মেথড থেকে নির্দিষ্ট মান ফেরত দিতে বা মেথডের কার্যক্রম শেষ করতে ব্যবহৃত হয়। return স্টেটমেন্ট কার্যকর হলে মেথড থেকে বেরিয়ে আসে এবং পরবর্তী কোড এক্সিকিউট হয় না।

উদাহরণ: return স্টেটমেন্ট ব্যবহার

int AddNumbers(int a, int b)
{
    return a + b; // মেথডটি থেকে a + b ফেরত দেয়া হবে
}

Console.WriteLine(AddNumbers(5, 3)); // Output: 8

এখানে AddNumbers মেথড a এবং b এর যোগফল ফেরত দেয়।

return স্টেটমেন্ট ব্যবহার করে শর্ত চেক

int CheckNumber(int number)
{
    if (number > 0)
    {
        return 1; // পজিটিভ সংখ্যা হলে 1 ফেরত দেবে
    }
    else if (number < 0)
    {
        return -1; // নেগেটিভ সংখ্যা হলে -1 ফেরত দেবে
    }
    else
    {
        return 0; // শূন্য হলে 0 ফেরত দেবে
    }
}

Console.WriteLine(CheckNumber(5));  // Output: 1
Console.WriteLine(CheckNumber(-3)); // Output: -1
Console.WriteLine(CheckNumber(0));  // Output: 0

এখানে, CheckNumber মেথড number এর মান অনুযায়ী বিভিন্ন মান ফেরত দেয়। শর্ত অনুযায়ী আলাদা return স্টেটমেন্ট ব্যবহৃত হয়েছে।


সারসংক্ষেপ

  • break স্টেটমেন্ট: লুপ বা switch থেকে বেরিয়ে আসতে ব্যবহৃত হয়।
  • continue স্টেটমেন্ট: লুপের চলতি পুনরাবৃত্তি এড়িয়ে পরবর্তী পুনরাবৃত্তিতে যেতে ব্যবহৃত হয়।
  • return স্টেটমেন্ট: মেথড থেকে মান ফেরত দিতে বা মেথডের কার্যক্রম শেষ করতে ব্যবহৃত হয়।

এই স্টেটমেন্টগুলো প্রোগ্রামের নিয়ন্ত্রণ প্রবাহে গুরুত্বপূর্ণ ভূমিকা পালন করে এবং কোডের কার্যকারিতা বাড়াতে সহায়ক।

Content added By
Promotion